package com.ldgame.gfx.gfxelements;

import java.util.ArrayList;
import org.lwjgl.util.vector.Vector2f;
import org.newdawn.slick.Color;

public abstract class GfxDecorator implements GfxComponent {
	private GfxComponent component;
	
	public GfxDecorator(GfxComponent component) {
		this.component = component;
	}
	
	public GfxComponent getComponent() {
		return component;
	}
	
	@Override
	public Vector2f getPosition() {
		return component.getPosition();
	}
	
	@Override
	public float getWidth() {
		return component.getWidth();
	}
	
	@Override
	public float getHeight() {
		return component.getHeight();
	}
	
	@Override
	public void render() {
		component.render();
	}
	
	@Override
	public boolean add(GfxComponent component) {
		return false;
	}

	@Override
	public boolean remove(GfxComponent component) {
		return false;
	}

	@Override
	public GfxComponent getChild(int i) {
		return null;
	}
	
	public ArrayList<GfxComponent> getComponents() {
		return null;
	}

	@Override
	public Color getColor() {
		return component.getColor();
	}

	@Override
	public void setPosition(Vector2f position) {
		component.setPosition(position);
	}

	@Override
	public void setWidth(float width) {
		component.setWidth(width);
	}

	@Override
	public void setHeight(float height) {
		component.setHeight(height);
	}

	@Override
	public void setColor(Color color) {
		component.setColor(color);
	}
}
